package com.ruoyi.material.domain;

import java.math.BigDecimal;
import java.util.List;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 产品对象 zn_material
 * 
 * @author ruoyi
 * @date 2021-12-24
 */
public class ZnMaterial extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;
    /** 名称 */
    @Excel(name = "名称")
    private String name;
    /** 规格 */
    @Excel(name = "规格")
    private String standard;
    /** 型号 */
    @Excel(name = "型号")
    private String model;
    /** 颜色 */
    @Excel(name = "颜色")
    private String color;
    /** 产品类型id */
    private Long categoryId;
    @Excel(name = "类别")
    private String categoryName;
    /** 保质期天数 */
    @Excel(name = "保质期天数")
    private Integer expiryNum;
    /** 单位-单个 */
    @Excel(name = "基础单位")
    private String unit;
    /** 计量单位Id */
    private Long unitId;
    /** 商品条码 */
    @Excel(name = "商品条码")//获取附表第一条
    private String barCode;
    /** 制造商 */
    private String mfrs;
    /** 首字母 */
    private String chineseChar;

    /** 图片名称 */
    private String imgName;
    /** 基础重量(kg) */
    @Excel(name = "基础重量(kg)")
    private BigDecimal weight;

    /** 启用 0-禁用  1-启用 */
//    @Excel(name = "启用 0-禁用  1-启用",type = Excel.Type.EXPORT)
    private Integer enabled;

    /** 自定义1 */
    private String otherField1;

    /** 自定义2 */
    private String otherField2;

    /** 自定义3 */
    private String otherField3;

    /** 是否开启序列号，0否，1是 */
    private String enableSerialNumber;

    /** 是否开启批号，0否，1是 */
    private String enableBatchNumber;

    /** 租户id */
    private Long tenantId;

    /** 删除标记，0未删除，1删除 */
    private String deleteFlag;
    /** 采购价格 */
    private BigDecimal purchaseDecimal;

    /** 零售价格 */
    private BigDecimal commodityDecimal;

    /** 销售价格 */
    private BigDecimal wholesaleDecimal;

    /** 最低售价 */
    private BigDecimal lowDecimal;
    /** 多属性 */
    private String sku;
    /**
     * 库存数量
     *  @author nexiaozi
     */
    private BigDecimal currentNumber;
    /**
     * 仓库Id
     * @author nexiaozi
     */
    private Long depotId;
    /**
     * 商品附表id
     * @author nexiaozi
     */
    private Long materialExtendId;
    /**
     * 副单位比例
     * @author nexiaozi
     */
    private Integer unitRatio;
    private Long userId;
    private Long deptId;

    private BigDecimal operNumber;

    /** 产品价格扩展信息 */
    private List<ZnMaterialExtend> znMaterialExtendList;
    /**
     * 初始化库存
     */
    private List<ZnMaterialInitialStock> znMaterialInitialStocks;

    public List<ZnMaterialInitialStock> getZnMaterialInitialStocks() {
        return znMaterialInitialStocks;
    }

    public void setZnMaterialInitialStocks(List<ZnMaterialInitialStock> znMaterialInitialStocks) {
        this.znMaterialInitialStocks = znMaterialInitialStocks;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getChineseChar() {
        return chineseChar;
    }

    public void setChineseChar(String chineseChar) {
        this.chineseChar = chineseChar;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public String getBarCode() {
        return barCode;
    }

    public BigDecimal getPurchaseDecimal() {
        return purchaseDecimal;
    }

    public void setPurchaseDecimal(BigDecimal purchaseDecimal) {
        this.purchaseDecimal = purchaseDecimal;
    }

    public BigDecimal getCommodityDecimal() {
        return commodityDecimal;
    }

    public void setCommodityDecimal(BigDecimal commodityDecimal) {
        this.commodityDecimal = commodityDecimal;
    }

    public BigDecimal getWholesaleDecimal() {
        return wholesaleDecimal;
    }

    public void setWholesaleDecimal(BigDecimal wholesaleDecimal) {
        this.wholesaleDecimal = wholesaleDecimal;
    }

    public BigDecimal getLowDecimal() {
        return lowDecimal;
    }

    public void setLowDecimal(BigDecimal lowDecimal) {
        this.lowDecimal = lowDecimal;
    }

    public String getCategoryName() {
        return categoryName;
    }

    public void setCategoryName(String categoryName) {
        this.categoryName = categoryName;
    }

    public void setBarCode(String barCode) {
        this.barCode = barCode;
    }


    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setCategoryId(Long categoryId) 
    {
        this.categoryId = categoryId;
    }

    public Long getCategoryId() 
    {
        return categoryId;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setMfrs(String mfrs) 
    {
        this.mfrs = mfrs;
    }

    public String getMfrs() 
    {
        return mfrs;
    }
    public void setModel(String model) 
    {
        this.model = model;
    }

    public String getModel() 
    {
        return model;
    }
    public void setStandard(String standard) 
    {
        this.standard = standard;
    }

    public String getStandard() 
    {
        return standard;
    }
    public void setColor(String color) 
    {
        this.color = color;
    }

    public String getColor() 
    {
        return color;
    }
    public void setUnit(String unit) 
    {
        this.unit = unit;
    }

    public String getUnit() 
    {
        return unit;
    }
    public void setImgName(String imgName) 
    {
        this.imgName = imgName;
    }

    public String getImgName() 
    {
        return imgName;
    }
    public void setUnitId(Long unitId) 
    {
        this.unitId = unitId;
    }

    public Long getUnitId() 
    {
        return unitId;
    }
    public void setExpiryNum(Integer expiryNum) 
    {
        this.expiryNum = expiryNum;
    }

    public Integer getExpiryNum() 
    {
        return expiryNum;
    }
    public void setWeight(BigDecimal weight) 
    {
        this.weight = weight;
    }

    public BigDecimal getWeight() 
    {
        return weight;
    }
    public void setEnabled(Integer enabled) 
    {
        this.enabled = enabled;
    }

    public Integer getEnabled() 
    {
        return enabled;
    }
    public void setOtherField1(String otherField1) 
    {
        this.otherField1 = otherField1;
    }

    public String getOtherField1() 
    {
        return otherField1;
    }
    public void setOtherField2(String otherField2) 
    {
        this.otherField2 = otherField2;
    }

    public String getOtherField2() 
    {
        return otherField2;
    }
    public void setOtherField3(String otherField3) 
    {
        this.otherField3 = otherField3;
    }

    public String getOtherField3() 
    {
        return otherField3;
    }
    public void setEnableSerialNumber(String enableSerialNumber) 
    {
        this.enableSerialNumber = enableSerialNumber;
    }

    public String getEnableSerialNumber() 
    {
        return enableSerialNumber;
    }
    public void setEnableBatchNumber(String enableBatchNumber) 
    {
        this.enableBatchNumber = enableBatchNumber;
    }

    public String getEnableBatchNumber() 
    {
        return enableBatchNumber;
    }
    public void setTenantId(Long tenantId) 
    {
        this.tenantId = tenantId;
    }

    public Long getTenantId() 
    {
        return tenantId;
    }
    public void setDeleteFlag(String deleteFlag) 
    {
        this.deleteFlag = deleteFlag;
    }

    public String getDeleteFlag() 
    {
        return deleteFlag;
    }

    public List<ZnMaterialExtend> getZnMaterialExtendList()
    {
        return znMaterialExtendList;
    }

    public void setZnMaterialExtendList(List<ZnMaterialExtend> znMaterialExtendList)
    {
        this.znMaterialExtendList = znMaterialExtendList;
    }

    public String getSku() {
        return sku;
    }

    public void setSku(String sku) {
        this.sku = sku;
    }

    public BigDecimal getCurrentNumber() {
        return currentNumber;
    }

    public void setCurrentNumber(BigDecimal currentNumber) {
        this.currentNumber = currentNumber;
    }

    public Long getDepotId() {
        return depotId;
    }

    public void setDepotId(Long depotId) {
        this.depotId = depotId;
    }

    public Long getMaterialExtendId() {
        return materialExtendId;
    }

    public void setMaterialExtendId(Long materialExtendId) {
        this.materialExtendId = materialExtendId;
    }

    public Integer getUnitRatio() {
        return unitRatio;
    }

    public void setUnitRatio(Integer unitRatio) {
        this.unitRatio = unitRatio;
    }

    public BigDecimal getOperNumber() {
        return operNumber;
    }

    public void setOperNumber(BigDecimal operNumber) {
        this.operNumber = operNumber;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("categoryId", getCategoryId())
            .append("name", getName())
            .append("mfrs", getMfrs())
            .append("model", getModel())
            .append("standard", getStandard())
            .append("color", getColor())
            .append("unit", getUnit())
            .append("remark", getRemark())
            .append("imgName", getImgName())
            .append("unitId", getUnitId())
            .append("expiryNum", getExpiryNum())
            .append("weight", getWeight())
            .append("enabled", getEnabled())
            .append("otherField1", getOtherField1())
            .append("otherField2", getOtherField2())
            .append("otherField3", getOtherField3())
            .append("enableSerialNumber", getEnableSerialNumber())
            .append("enableBatchNumber", getEnableBatchNumber())
            .append("tenantId", getTenantId())
            .append("deleteFlag", getDeleteFlag())
            .append("znMaterialExtendList", getZnMaterialExtendList())
            .append("sku", getSku())
            .append("currentNumber", getCurrentNumber())
            .append("depotId", getDepotId())
            .append("materialExtendId", getMaterialExtendId())
            .append("unitRatio", getUnitRatio())
            .toString();
    }
}
